package com.tsd.wxpay.dao;

import com.tsd.core.vo.PageBean;
import com.tsd.wxpay.entity.WeixinPayNotifyLog;
import com.tsd.wxpay.entity.WeixinPayNotifyLogExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：WeixinPayNotifyLogMapper
 *
 * @author Hillpool
 * @date 2022/07/08 16:56:35
 */
public interface WeixinPayNotifyLogMapper {

    WeixinPayNotifyLog selectByPrimaryKey(Long id);

    WeixinPayNotifyLogExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(WeixinPayNotifyLog record);

    int insertSelective(WeixinPayNotifyLog record);

    int updateByPrimaryKey(WeixinPayNotifyLog record);

    int updateByPrimaryKeySelective(WeixinPayNotifyLog record);

    List<WeixinPayNotifyLogExt> selectByEntity(WeixinPayNotifyLogExt record);

    List<WeixinPayNotifyLogExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<WeixinPayNotifyLogExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<WeixinPayNotifyLogExt> selectByParams(@Param("params") Map<String, Object> params);

    WeixinPayNotifyLogExt selectByTransactionId(@Param("transaction_id") String transaction_id);

    WeixinPayNotifyLogExt selectByOutTradeNo(@Param("out_trade_no") String out_trade_no);

    WeixinPayNotifyLogExt selectLatestByBizSid(@Param("biz_sid") String biz_sid);

    int updateHookUpdateByBizSid(@Param("biz_sid") String biz_sid);

    List<WeixinPayNotifyLogExt> selectValid4Reconciliation(@Param("greater_than_id") Long greater_than_id, @Param("size") Integer size);
}